Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2016, 18:36
Интересующийся
Отправить личное сообщение для seahunter Посмотреть профиль Найти все сообщения от seahunter
 
Регистрация: 15.12.2015
Сообщений: 10

Форма обратной связи
Здравствуйте, ув. сообщество. Нужна помощь. Есть форма обратной связи банально простая.
<form id="topform">
	<div class="form-group">
		<input type="text" class="form-control" name="name" placeholder="Ваше имя">
	</div>
	<div class="form-group">
		<input type="number" class="form-control" name="phone" id="" placeholder="Ваш телефон">
	</div>					

	<button type="submit" class="btn btn-primary">Расчитать стоимость</button>
</form>


Так же есть аjax скрипт который обрабатывает данные с формы и отправляет их в файл который отвечает за отправку письма
$(document).ready(function(){
	    $("#topform").submit(function() { //устанавливаем событие отправки для формы с class=sendform
	    	    var form_data = $(this).serialize(); //собераем все данные из формы
	            $.ajax({
	            type: "POST", //Метод отправки
	            url: "send.php", //путь до php фаила отправителя
	            data: form_data
	        })
			.done(function() {
				console.log("success");
			})
			.fail(function() {
				console.log("error");
			})
			.always(function() {
				console.log("complete");
			});
	    });
	});


Форма отправляется, сообщения приходтя на почту. Но вот собственно в чём проблема:
1) В консоле показывает что срабатывает действие .fail и .always. По поводу .done - XHR failed loading: POST - ответ.
2) После отправки самой формы меня перекидывет в начало страницы.
3) В url дописываются мои данные: ?name=test&phone=1234.

По поводу последних двух пунктов не уверен, может так и должно быть, но хотелось бы чтобы я оставался на уровне формы отправки, и url был пустой.

За ранее спасибо за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2016, 18:42
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Вас перекидывает, потому что вы не отменили действие по умолчанию. Идет отправка (submit) формы. В конце функции return false допишите.
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2016, 19:32
Интересующийся
Отправить личное сообщение для seahunter Посмотреть профиль Найти все сообщения от seahunter
 
Регистрация: 15.12.2015
Сообщений: 10

Спасибо большое, Ваш ответ решил все мои проболемы.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма обратной связи Bob11 AJAX и COMET 0 12.11.2015 11:41
Нужна помощь - форма обратной связи со скачиванием файла Baton1777 Общие вопросы Javascript 3 24.05.2015 02:21
Форма обратной связи Васька jQuery 1 17.12.2014 12:53
ajax форма обратной связи anton-mgn AJAX и COMET 7 15.09.2011 20:42
Форма обратной связи Antifactor Я не знаю javascript 2 09.06.2009 15:21